#include <iostream>

using namespace std;

class student_t {
  private: // 私有的
    const char *m_name;
    int         m_age;
    float       m_score;

  public: // 共有的
    // 声明构造函数
    student_t(const char *name, int age, float score);
    // 声明普通成员函数
    void show();
};

// 定义构造函数,
// (1)构造函数必须是 public 属性的，必须与类名相同, 否则创建对象时无法调用。
// (2)没有变量来接收返回值，即使有也毫无用处, 不管是声明还是定义，函数名前面都不能出现返回值类型，即使是 void
// 也不允许；函数体中不能有 return 语句。
student_t::student_t(const char *name, int age, float score)
{
    m_name = name;
    m_age = age;
    m_score = score;
}
void student_t::show()
{
    cout << m_name << "的年龄是" << m_age << "，成绩是" << m_score << endl;
}

int main()
{
    // 创建对象时向构造函数传参
    student_t stu("小明", 15, 92.5f);
    stu.show();

    // 创建对象时向构造函数传参
    student_t *pstu = new student_t("李华", 16, 96);
    pstu->show();

    return 0;
}
